// chapter6/demo6_3_large_data.c
#include <stdio.h>
#define INT_ARRAY_LEN 10000
int main(void)
{
    int a[INT_ARRAY_LEN] = {0};
    int i = 0;
    int j = 0;
    // 读取数据
    printf("input %d numbers from file.\n", INT_ARRAY_LEN);
    for(i = 0; i < INT_ARRAY_LEN; i++)
    {
        scanf("%d", &a[i]);
    }
    // 打印读入的数组前10个元素
    printf("before soring, a[0] to a[10] are \n");
    for(i = 0; i < 10; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    // 冒泡排序
    for(i = 1; i <= (INT_ARRAY_LEN - 1); i++)
    {
        for(j = 0; j <= (INT_ARRAY_LEN - 2); j++)
        {
            if (a[j] > a[j+1])
            {
                // 交换a[j+1]与a[j]
                int tmp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = tmp;
            }
        }
    }
    // 打印排序后的数组
    printf("after soring, a[0] to a[10] are \n");
    for(i = 0; i < 10; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    return 0;
}